package com.pratices.mvc.util;

import com.pratices.mvc.service.AdminRegionService;

import java.util.HashMap;
import java.util.Map;

/**
 * 后面Spring框架中使用的绝大多数实例都是单例
 * 使用层面：通过某种固定的手段 每次获得实例获得的是同一个实例
 */
public class ServiceHolder {
    private static final Map<Class,Object> map = new HashMap<>();
    // 静态代码块里的内容只执行一次
    static {

        AdminRegionService regionService = new AdminRegionService();
        map.put(AdminRegionService.class, regionService);
    }

    public static <T> T getService(Class<T> clazz) {
        return (T) map.get(clazz);
    }
}
